But I think there is still potential to do something with this idea of a generalized pipeline framework, similar to that proposal (I think this is a sample implementation: https://code.google.com/p/google-concurrency-library), but wrapped up with nicer APIs and maybe a UI application for building filter graphs that can be saved and executed by the framework and the ability to define components of the pipeline written in a variety of languages such as C++ or python, potentially the C++ is able to be optionally JIT’d (using LLVM), the components can be executed in user definable execution contexts (not just a choice of single threaded or multi, but options to run the component in a sandbox or in another process or remotely depending on the execution container they are placed in inside the graph) and it comes with a bunch of sample components to put in to filter graphs with example graphs for a variety of domain specific applications such as in these fields: audio processing image processing programming (multimedia fusion and extensions) video processing feature detection and general analysis of sampled data 3d transformation pipeline (3d geometry pipeline as well as rendering, lighting pipelines if in software) Text/xml processing, parsing, transforming File format conversions (all kinds, including polygon formats, point cloud formats) As a product, documentation would be important. Nice modern looking tools. Links to domain specific implementations of this: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-elements.html https://www.google.com.au/search?q=gst-editor&tbm=isch&sa=X http://lya.fciencias.unam.mx/jloa/patrones/PF.html http://docs.cryengine.com/display/SDKDOC2/Flow+Graph+Editor General but platform specific: https://software.intel.com/en-us/articles/flow-graph-designer I guess GPUs with their shaders are a kind of form of this as you could think about each of the shader instructions as being like a block in the pipeline. https://www.google.com.au/search?q=shader+editors&source=lnms&tbm=isch&sa=X